class UserInfo {
  int? age;
  int? auditStatus;
  int? availableCoins;
  String? avatar;
  String? avatarMiddleThumbUrl;
  int? avatarStatus;
  String? avatarThumbUrl;
  String? avatarUrl;
  String? birthday;
  String? country;
  dynamic? createTime;
  int? followNum;
  int? gender;
  int? giftWallAction;
  bool? hasEquity;
  int? hasIllegalAvatar;
  bool? isAnswer;
  bool? isBlock;
  bool? isHavePassword;
  bool? isInternal;
  bool? isMultiple;
  bool? isRecharge;
  bool? isReview;
  bool? isSwitchNotDisturbCall;
  bool? isSwitchNotDisturbIm;
  bool? isVip;
  int? level;
  String? loginPkgName;
  String? nickname;
  int? praiseNum;
  String? registerCountry;
  String? registerPkgName;
  List<TagDetails>? tagDetails;
  List<String>? tagsList;
  String? userId;
  int? userType;

  UserInfo(
      {this.age,
      this.auditStatus,
      this.availableCoins,
      this.avatar,
      this.avatarMiddleThumbUrl,
      this.avatarStatus,
      this.avatarThumbUrl,
      this.avatarUrl,
      this.birthday,
      this.country,
      this.createTime,
      this.followNum,
      this.gender,
      this.giftWallAction,
      this.hasEquity,
      this.hasIllegalAvatar,
      this.isAnswer,
      this.isBlock,
      this.isHavePassword,
      this.isInternal,
      this.isMultiple,
      this.isRecharge,
      this.isReview,
      this.isSwitchNotDisturbCall,
      this.isSwitchNotDisturbIm,
      this.isVip,
      this.level,
      this.loginPkgName,
      this.nickname,
      this.praiseNum,
      this.registerCountry,
      this.registerPkgName,
      this.tagDetails,
      this.tagsList,
      this.userId,
      this.userType});

  UserInfo.fromJson(Map<String, dynamic> json) {
    age = json['age'];
    auditStatus = json['auditStatus'];
    availableCoins = json['availableCoins'];
    avatar = json['avatar'];
    avatarMiddleThumbUrl = json['avatarMiddleThumbUrl'];
    avatarStatus = json['avatarStatus'];
    avatarThumbUrl = json['avatarThumbUrl'];
    avatarUrl = json['avatarUrl'];
    birthday = json['birthday'];
    country = json['country'];
    createTime = json['createTime'];
    followNum = json['followNum'];
    gender = json['gender'];
    giftWallAction = json['giftWallAction'];
    hasEquity = json['hasEquity'];
    hasIllegalAvatar = json['hasIllegalAvatar'];
    isAnswer = json['isAnswer'];
    isBlock = json['isBlock'];
    isHavePassword = json['isHavePassword'];
    isInternal = json['isInternal'];
    isMultiple = json['isMultiple'];
    isRecharge = json['isRecharge'];
    isReview = json['isReview'];
    isSwitchNotDisturbCall = json['isSwitchNotDisturbCall'];
    isSwitchNotDisturbIm = json['isSwitchNotDisturbIm'];
    isVip = json['isVip'];
    level = json['level'];
    loginPkgName = json['loginPkgName'];
    nickname = json['nickname'];
    praiseNum = json['praiseNum'];
    registerCountry = json['registerCountry'];
    registerPkgName = json['registerPkgName'];
    if (json['tagDetails'] != null) {
      tagDetails = <TagDetails>[];
      json['tagDetails'].forEach((v) {
        tagDetails!.add(new TagDetails.fromJson(v));
      });
    }
    tagsList = json['tagsList'].cast<String>();
    userId = json['userId'];
    userType = json['userType'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['age'] = this.age;
    data['auditStatus'] = this.auditStatus;
    data['availableCoins'] = this.availableCoins;
    data['avatar'] = this.avatar;
    data['avatarMiddleThumbUrl'] = this.avatarMiddleThumbUrl;
    data['avatarStatus'] = this.avatarStatus;
    data['avatarThumbUrl'] = this.avatarThumbUrl;
    data['avatarUrl'] = this.avatarUrl;
    data['birthday'] = this.birthday;
    data['country'] = this.country;
    data['createTime'] = this.createTime;
    data['followNum'] = this.followNum;
    data['gender'] = this.gender;
    data['giftWallAction'] = this.giftWallAction;
    data['hasEquity'] = this.hasEquity;
    data['hasIllegalAvatar'] = this.hasIllegalAvatar;
    data['isAnswer'] = this.isAnswer;
    data['isBlock'] = this.isBlock;
    data['isHavePassword'] = this.isHavePassword;
    data['isInternal'] = this.isInternal;
    data['isMultiple'] = this.isMultiple;
    data['isRecharge'] = this.isRecharge;
    data['isReview'] = this.isReview;
    data['isSwitchNotDisturbCall'] = this.isSwitchNotDisturbCall;
    data['isSwitchNotDisturbIm'] = this.isSwitchNotDisturbIm;
    data['isVip'] = this.isVip;
    data['level'] = this.level;
    data['loginPkgName'] = this.loginPkgName;
    data['nickname'] = this.nickname;
    data['praiseNum'] = this.praiseNum;
    data['registerCountry'] = this.registerCountry;
    data['registerPkgName'] = this.registerPkgName;
    if (this.tagDetails != null) {
      data['tagDetails'] = this.tagDetails!.map((v) => v.toJson()).toList();
    }
    data['tagsList'] = this.tagsList;
    data['userId'] = this.userId;
    data['userType'] = this.userType;
    return data;
  }
}

class TagDetails {
  String? tag;
  String? tagColor;
  String? tagTip;

  TagDetails({this.tag, this.tagColor, this.tagTip});

  TagDetails.fromJson(Map<String, dynamic> json) {
    tag = json['tag'];
    tagColor = json['tagColor'];
    tagTip = json['tagTip'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['tag'] = this.tag;
    data['tagColor'] = this.tagColor;
    data['tagTip'] = this.tagTip;
    return data;
  }
}
